package com.javastudy.jdkfeature.jdk5.generics;

/**
 * 定义简单的泛型类
 * 类型参数在整个类的声明中可用，几乎是所有可以使用其他普通类型的地方都可以用.
 * 类型参数就跟在方法或构造函数中普通的参数一样。就像一个方法有形式参数来描述它操作的参数的种类一样，一个泛型声明也有形式类型参数。
 * 当一个方法被调用，实参(actual arguments)替换形参，方法体被执行。当一个泛型声明被调用，实际类型参数(actual type arguments)取代形式类型参数。

 相当于声明的时候public class SimpleGenericClass<T>  T是一个形参，而使用的时候SimpleGenericClass<Person> dao = new SimpleGenericClass<>(); 相当于传入一个实参
 */
public class SimpleGenericClass<T> {
    /**
     * 5      * 泛型类
     * 6      * 声明类的同时声明泛型类型
     * 7      * 1.方法的返回值可以是使用声明的泛型类型
     * 8      * 2.方法的参数也可以是声明类的泛型类型
     * 9      * 3.方法体内可以使用泛型类型
     * 10
     */
    public T get(Integer id) {
        return null;
    }

    public void save(T entity) {
    }
}
